package com.houdoudou.common;

import java.util.Random;

public class CommonMathFunction {

	
	private static final  double EARTH_RADIUS = 6378137; //单位 米
	
	 public static String genRandomNum(int pwd_len){  
		  //35是因为数组是从0开始的，26个字母+10个数字  
		  final int  maxNum = 10;  
		  int i;  //生成的随机数  
		  int count = 0; //生成的密码的长度  
		  char[] str = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };  
		    
		  StringBuffer pwd = new StringBuffer("");  
		  Random r = new Random();  
		  while(count < pwd_len){  
		   //生成随机数，取绝对值，防止生成负数，  
		     
		   i = Math.abs(r.nextInt(maxNum));  //生成的数最大为36-1  
		     
		   if (i >= 0 && i < str.length) {  
		    pwd.append(str[i]);  
		    count ++;  
		   }  
		  }  
		    
		  return pwd.toString();  
		 } 
	 
	  private static double rad(double d)  
	    {  
	       return d * Math.PI / 180.0;  
	    }  
	 
	   public static double GetDistance(double lon1,double lat1,double lon2, double lat2)  
	    {  
	       double radLat1 = rad(lat1);  
	       double radLat2 = rad(lat2);  
	       double a = radLat1 - radLat2;  
	       double b = rad(lon1) - rad(lon2);  
	       double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)+Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));  
	       s = s * EARTH_RADIUS;  
	       //s = Math.round(s * 10000) / 10000;  
	       return s;  
	    }
	   
	   public static boolean isNumeric(String str){ 
		   for (int i = str.length();--i>=0;){ 
		   if (!Character.isDigit(str.charAt(i))){
		   return false; 
		   } 
		   }
		   return true; 
		   } 
	   
}
